技術問答
技術文章
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
25
1
自我挑戰組
從不懂,到玩上手的Python語言
系列 第
25
篇
Day25-複合資料結構:字典
11th鐵人賽
岳岳
團隊
CPR爆肝初心者
2019-10-11 22:05:46
1746 瀏覽
分享至
學習目標
• 何謂「字典」?為何需要「字典」?
• 「字典」相關的專有名詞介紹 & 應用
• 如何建造一個「字典」?
• 讀取 & 修改字典內的元素
• 字典的四大特性
何謂「字典」(Dict)
• 以 { } 括住、儲存「對照表」類型資料的結構
為何要叫「字典」(Dict)
•「字典」也是一種「對照表」
「字典(Dict)」專有名詞介紹
•鍵(Keys)、值(Values)、鍵值對(Key-Value Pairs)
→ 事實上,底層是用 tuple(Key, Value) 這樣的機制儲存的
「字典」常見的應用
•查閱(Lookup)
•轉換(Translate)
建造一個「字典」
• 空字典
• d = {}
• d = dict()
•一般字典
• 標準: d = {“USD”:30.24, “JPY”:0.276, “RMB”:4.541}
• 元組: d = dict([(“USD”, 30.24), (“JPY”, 0.276), (“RMB”, 4.541)])
•等號: d = dict(USD=30.24, JPY=0.276, RMB=4.541)
•ZIP: d = dict(zip(("USD", "JPY", "RMB"), (30.24, 0.276, 4.541)))
字典元素的讀取與修改
•讀取
•d = {“USD”:30.24, “JPY”:0.276, “RMB”:4.541}
•d[“USD”] → 30.24
•d[“EUR”] → 讀取不存在的 Key,傳回 KeyError
•修改
•d = {“USD”:30.24, “JPY”:0.276, “RMB”:4.541}
•d[“USD”] = 31.02
→ d = {“USD”:31.02, “JPY”:0.276, “RMB”:4.541}
•d[“EUR”] = 35.636 → 寫入不存在的 Key,會新增一個元素
字典四大特性
(1) Key 必須是 Immutable
(2) Key 不可重複,後者會蓋掉前者
(3) 字典是「無序」的(Python 3.6 開始,盡量保持原始順序)
(4) 字典本身是 Mutable 的
•可增減字典內的元素
•Python 提供一組增減字典元素的函數,供程式師使用
重點整理
何謂「字典」
以「大括號 { }」括住、每筆元素包含「鍵:值」對應關係的資料。
「字典」的應用時機
查閱(Lookup)& 轉換(Translate)
建造一個字典
空字典:d = { }; d = dict()
一般字典
標準: d = {“USD”:30.24, “JPY”:0.276, “RMB”:4.541}
元組: d = dict([(“USD”, 30.24), (“JPY”, 0.276), (“RMB”, 4.541)])
等號: d = dict(USD=30.24, JPY=0.276, RMB=4.541)
ZIP: d = dict(zip(("USD", "JPY", "RMB"), (30.24, 0.276, 4.541)))
讀寫字典內的元素
讀取: d[“USD”]
寫入: d[“USD”] = 31.02
字典四大特性
Key 不可更改(Immutable)、Key 不可重複、鍵值對「無序」、鍵值對可更改(Mutable)
留言
追蹤
檢舉
上一篇
Day24-函數
下一篇
DAY26-物件導向設計
系列文
從不懂,到玩上手的Python語言
共
30
篇
目錄
RSS系列文
訂閱系列文
10
人訂閱
26
DAY26-物件導向設計
27
Day27-物件導向設計 :封裝部分
28
Day28-物件導向設計封裝部分:建構函數(Constructor)
29
Day29- 例外處理 (Exception)
30
Day30-總結30 天
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19834
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
Outlook 被要求登入Microsoft 365
Windows 11 25H2 檔案網管網址列空白
想在AWS上面測試 Hping3這套工具
DC伺服器的「設定」打不開
熱門回答
Windows 11 25H2 檔案網管網址列空白
熱門文章
你跟 ChatGPT 講的每一句話,對方律師都可以 subpoena——2026 年美國判決讓你的「AI 私密對話」消失了
2026別再只會 Vibe Coding,今年你該學的是「牧羊人式」的代理開發
AI 記憶是假議題:真正該解決的是 Context Engineering
AI Code Reviewer 真的只值三萬嗎?
當訓練資料本身被污染:開發者必須知道的 AI 生成內容危機
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}